home *** CD-ROM | disk | FTP | other *** search
/ United Public Domain Gold 2 / United Public Domain Gold 2.iso / utilities / pu453.dms / pu453.adf / extras / basic_sources / GSprites.bas < prev    next >
BASIC Source File  |  1992-11-08  |  2KB  |  120 lines

  1. REM $Include dh1:Hbasic/Includes/Libdefs2.inc
  2. SCREEN 1,320,256,4,1
  3. WINDOW 1,"",(0,0)-(310,240),0,1
  4. REM $option K200
  5. FOR x = 0 TO 15 : PALETTE x,x/15,x/15,x/15 : NEXT x
  6. setwindow WINDOW(7)
  7. file$ = "dh1:hbasic/my_progs/game/newsprites.iff"+CHR$(0)
  8. loadiff SADD(file$)
  9. DIM a%(20000)
  10. GET (0,0)-(300,240),a%
  11. CLS
  12.  
  13. main:
  14.     GOSUB remwindow
  15.     GOSUB clist
  16.     makedoublebuffer
  17.     doublebufferon
  18.  
  19.     GOSUB mainprog
  20.  
  21.     doublebufferoff
  22.     abortdoublebuffer    
  23.     LIBRARY CLOSE
  24. SYSTEM
  25.  
  26. mainprog:
  27.     PUT(0,0),a%,PSET
  28.     DIM b%(20000)
  29.     DIM c%(20000)
  30.     DIM t%(8000)
  31.     DIM t2%(8000)
  32.     GET (79,80)-(107,105),b%(1)
  33.     GET (79,110)-(107,135),b%(10000)
  34.     GET (119,85)-(159,145),c%(1)
  35.     GET (172,86)-(211,145),c%(10000)
  36.     CLS
  37.     transmit
  38.     px = 150 : py = 100
  39.     WHILE MOUSE(0) <> 0 : WEND
  40.     WHILE MOUSE(0) = 0 
  41.         x = x + dx
  42.         y = y + dy
  43.         IF x>290 THEN dx = -1
  44.         IF x<1   THEN dx = 1
  45.         IF y>215 THEN dy = -1
  46.         IF y< 1  THEN dy = 1
  47.         GET(x,y)-(x+30,y+30),t%
  48.         PUT(x,y),b%(1),PSET
  49.         
  50.         vx=vx + STICK(2)
  51.         vy=vy + STICK(3)
  52.         IF (px+vx)>270 THEN vx=vx * -1
  53.         IF (px+vx)<1 THEN vx=vx * -1
  54.         IF (py+vy)>180 THEN vy=vy * -1
  55.         IF (py+vy)<1 THEN vy=vy * -1
  56.         px=px + vx
  57.         py=py + vy
  58.         GET(px,py)-(px+41,py+61),t2%
  59.         PUT(px,py),c%(1),PSET
  60.         waittof
  61.         transmit
  62.         
  63.         
  64.         PUT(x,y),t%,PSET
  65.         PUT(px,py),t2%,PSET
  66.         PUT(x,y),b%(10000),PSET
  67.         vx=vx + STICK(2)
  68.         vy=vy + STICK(3)
  69.         IF (px+vx)>270 THEN vx=vx * -1
  70.         IF (px+vx)<1 THEN vx=vx * -1
  71.         IF (py+vy)>180 THEN vy=vy * -1
  72.         IF (py+vy)<1 THEN vy=vy * -1
  73.         px=px + vx
  74.         py=py + vy
  75.         GET(px,py)-(px+41,py+61),t2%
  76.         PUT(px,py),c%(10000),PSET
  77.         waittof
  78.         transmit
  79.         PUT(x,y),t%,PSET
  80.         PUT(px,py),t2%,PSET
  81.     WEND
  82.     x = MOUSE(1) : y = MOUSE(2)
  83.     WHILE MOUSE(0) <> 0 
  84.         PUT(0,0),a%,PSET
  85.         LOCATE 1,1
  86.         PRINT x,y
  87.         x1 = MOUSE(1)
  88.         y1 = MOUSE(2)
  89.         PRINT x1,y1
  90.         LINE (x1,y1)-(x,y),1,b
  91.         waittof
  92.         transmit
  93.     WEND
  94. RETURN
  95.  
  96. clist:
  97.     PALETTE 0,0,0,0
  98.     GOSUB initcopvals
  99.     initcop
  100.     waitc 0,xc%
  101.     movec c0%,&H000
  102.     movec c1%,&Hfff
  103.     movec c2%,&Hf00
  104.     movec c3%,&H0f0
  105.     movec c4%,&H00f
  106.     movec c5%,&Hff0
  107.     movec c6%,&H0ff
  108.     movec c7%,&Hf0f
  109.     acticop
  110. RETURN        
  111.     
  112. REM $Include dh1:Hbasic/Includes/CopRoutines.inc
  113. REM $Include dh1:Hbasic/Includes/DBFRoutines2.inc
  114. REM $Include dh1:Hbasic/Includes/misc.inc
  115. REM $include dh1:Hbasic/Includes/fonts.inc
  116. REM $include dh1:Hbasic/Includes/mouse2.inc
  117.  
  118. REM -- Updated for EXTEND.LIBRARY on 24-4-1992
  119.  
  120.